<?php

require_once dirname(__FILE__).'/BaseValidator.class.php';

class ChoiceValidator extends BaseValidator {
	public function __construct($options = array()) {
		$this->messages['not_in_choices'] = 'Значение этого поля должно быть одним из следующих: %choices%';
		
		parent::__construct($options);
	}
	
	public function doClean($value) {
		extract($this->options);
		
		if (!in_array($value, $choices)) {
			throw new ValidatorError($this, 'not_in_choices', array(
				'%choices%' => implode(', ', $choices)
			));
		}
		return $value;
	}

}
